以线程为单位初始化内存池,各线程独享自己的内存池。
更多...
以线程为单位初始化内存池,各线程独享自己的内存池。
- 注解
- 线程内存的分配效率远高于进程内存,因为每一次调用uTalloc都是在自己的线程内存池中直接按序分配内存。
-
在某线程中,如果需要多次动态内存分配,可考虑采用线程内存以提高性能。
-
线程内存的应用法则:当所有uTalloc的内存都可以释放时,再一次性释放所有内存(线程内存池)。
| #define uCreateMempool sCSV_CreateMempool |
创建线程内存池
实为定义变量(线程内存控制块),C89模式时可考虑在线程的开始处创建。
- 返回
- 无
在文件 ur_api.h 第 1513 行定义.
| #define uFreeMempool sUSV_FreeMempool |
| #define uInitMempool |
( |
|
size | ) |
sUSV_InitMempool(size) |
初始化线程内存池
实质上是通过调用malloc,从进程内存池或堆中分配一块内存来做为线程内存池。
- 参数
-
- 返回
- 结果(bool)
- 返回值
-
在文件 ur_api.h 第 1523 行定义.
| #define uTalloc |
( |
|
size | ) |
sUSV_Talloc(size) |
线程内存分配
在线程内存池中分配一块内存。
- 参数
-
- 返回
- 分配的指针(void MALLOC_MEM *)
- 返回值
-
在文件 ur_api.h 第 1532 行定义.